1. Field of the Invention
The present invention generally relates to a method and system for assessing and refining quality of Web services definitions (i.e., Web Services Definition Language (WSDL) definitions) for enabling automatic discovery and matching thereof, and more particularly, to a method and system for assessing the description of Web services definitions and refining or improving WSDL definitions by providing automated one or more recommendations or suggestions for making Web services descriptions more amenable for consumption by automatic matching and composition engines.
2. Description of the Conventional Art
Companies are rapidly adopting Web services definitions (represented as Web Service Description Language (i.e., WSDL)) as the standard way of representing their business applications. Integrating business applications written as Web services is an important challenge faced by organizations today. This is a difficult problem because the interface descriptions of Web services are often terse and cryptic, especially when the services are generated by wrapping legacy code. Poorly written Web services interface definitions often pose many hurdles to automation tools.
As mentioned above, business process integration is among the most important challenges faced by organizations today. Integrating disparate business applications is at the heart of this challenge. In the context of a large enterprise that was created through mergers and acquisitions, there are often thousands of applications and data repositories, each with associated services and interface definitions. Since these interfaces were created for different organizations, over different periods of time and for different initial purposes, it is unlikely that they use a common set of terms to name services and parameters. This leads to substantial heterogeneity in syntax, structure and semantics.
For example, what one service interface in one system may encode as itemID, dueDate, and quantity may be referred to by another service interface in a different application as UPC (Universal Part Code), itemDeliveryTime and numItems.
Other examples include using cryptic names such as CDE to refer to ‘code’ without providing any abbreviation expansions or using multi-part words such as ‘STRTDT’ to refer to ‘START_DATE’ without any word separation characters could confuse an automatic interface mapping engines thereby leading to incorrect mappings.
A substantial amount of developer time is spent in identifying these kinds of semantic ambiguities and resolving them. In conventional systems and methods, much of this interface mapping is done by consultants manually. Analysts and developers typically pour over large spreadsheets or XML documents that describe the interface elements of each application and manually create the mappings between source application parameters and target application parameters. However, this conventional process is tedious and laborious.